Ubuntu安装docker并更换安装目录

ubuntu安装docker并更换安装目录

在 Ubuntu 上安装 docker 时,默认情况下,docker 会被安装在系统的默认路径下,通常是 /usr/bin/docker。
docker 的镜像缓存通常位于 /var/lib/docker。
若 根目录配置的空间不足,则很容易满盘

如果想要将 docker 安装到不同的路径,可以通过以下步骤来实现:

1. 下载 docker

需要用到离线包

很多镜像站都能获取到安装包,这里采用阿里云的

新建目录

1
2
mkdir -P /home/docker 
cd /home/docker

下载docker离线包

1
wget https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-24.0.0.tgz

解压

1
tar xzvf docker-24.0.0.tgz

2. docker启动与验证

进入解压目录

1
cd  ./docker

启动

1
nohup dockerd >/dev/null 2>&1 &

验证

1
2
3
docker info # 查看docker 安装信息
docker images # 查看docker 本地镜像
docker ps # 查看docker 已经启动的镜像

3. 安装docker-compose 工具

下载

1
wget  https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-linux-x86_64

重命名

1
mv docker-compose-linux-x86_64 docker-compose

赋予执行权限

1
sudo chmod +x docker-compose

建立软连接到系统程序目录

1
sudo ln -s /home/docker/docker-compose /usr/local/bin/docker-compose

验证

1
docker-compose -v

4.更换docker 镜像数据缓存目录

新建docker的数据缓存目录

1
sudo mkdir - P /home/docker/docker-data

Docker 的配置信息存储在 JSON 格式的文件 /etc/docker/daemon.json 中。要修改镜像存储路径,需要编辑此文件。

如果文件不存在,可以使用以下命令创建:

1
sudo vim /etc/docker/daemon.json

设置 data-root
在 daemon.json 文件中添加或修改 data-root 字段,将其设置为新的镜像存储路径。例如,将镜像存储到 /mnt/docker-data 目录:

1
2
3
{
"data-root": "/home/docker/docker-data"
}

保存文件后,Docker 将会使用新的路径来存储镜像数据。

将旧数据迁移至新路径
如果你之前已经使用默认路径下载了一些 Docker 镜像或创建了容器,并且希望保留这些数据,可以在修改 data-root 配置项之前将它们移动到新的存储路径。

可以使用以下命令将 /var/lib/docker 目录下的所有内容移动到 /home/docker/docker-data:

1
sudo mv /var/lib/docker/* /home/docker/docker-data

查看到以下文件,则迁移过来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@jk-work:/home/docker/docker-data# ll
total 56
drwxr-xr-x 13 root root 4096 May 03 04:48 ./
drwxr-xr-x 4 root root 4096 May 03 04:40 ../
drwx--x--x 3 root root 4096 May 03 04:15 buildkit/
drwx--x--x 3 root root 4096 May 03 04:15 containerd/
drwx--x--- 2 root root 4096 May 03 04:15 containers/
-rw------- 1 root root 36 May 03 04:15 engine-id
drwx------ 3 root root 4096 May 03 04:15 image/
drwxr-x--- 3 root root 4096 May 03 04:15 network/
drwx--x--- 3 root root 4096 May 03 04:38 overlay2/
drwx------ 3 root root 4096 May 03 04:15 plugins/
drwx------ 2 root root 4096 May 03 04:38 runtimes/
drwx------ 2 root root 4096 May 03 04:15 swarm/
drwx------ 2 root root 4096 May 03 04:38 tmp/
drwx-----x 2 root root 4096 May 03 04:38 volumes/

启动docker ,查看信息

1
nohup /home/docker/docker/dockerd >/dev/null 2>&1 &
1
docker info

其他

启动脚本,自用,如有需要可跟进需要修改
start-docker.sh

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash

cp /home/docker/daemon.json /etc/docker/daemon.json

nohup /home/docker/docker/dockerd >/dev/null 2>&1 &

# 建立软连接到启动目录
sudo ln -s /home/docker/docker-compose /usr/local/bin/docker-compose

# chmod +x start-docker.sh

# ./start-docker.sh

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

继开 wechat
欢迎加我的微信,共同交流技术